@echo off

REM 设置编译环境变量
set CC=gcc
set CFLAGS=-Iinclude -Wall -Wextra -g

REM 创建输出目录（如果不存在）
if not exist "bin" mkdir "bin"

REM 编译源文件
echo 编译源代码...
%CC% %CFLAGS% -c src/aodv_core.c -o bin/aodv_core.o
%CC% %CFLAGS% -c src/route_table.c -o bin/route_table.o
%CC% %CFLAGS% -c src/neighbor_table.c -o bin/neighbor_table.o
%CC% %CFLAGS% -c src/timer.c -o bin/timer.o
%CC% %CFLAGS% -c src/net_interface.c -o bin/net_interface.o
%CC% %CFLAGS% -c src/test_aodv.c -o bin/test_aodv.o

REM 链接目标文件
echo 链接目标文件...
%CC% bin/aodv_core.o bin/route_table.o bin/neighbor_table.o bin/timer.o bin/net_interface.o bin/test_aodv.o -o bin/aodv_test.exe

REM 检查编译结果
if exist "bin/aodv_test.exe" (
    echo 编译成功！
    echo 运行测试程序...
    cd bin
    aodv_test.exe
) else (
    echo 编译失败！
    exit /b 1
)

cd ..
echo 测试完成！